#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<string.h>
#include"prospool.hpp"
void*func(void * p){
    printf("task1\n");
    return nullptr;
}
int main(){
    processPool pp(1);
    pp.funcAdd(func);
    pp.runFunc(0);

    return 0;
}

// #define BUFFER_SIZE 1024
// char buffer[BUFFER_SIZE];

// int main(){
    
//     int pipfd[2];
//     if(pipe(pipfd) == -1){
//         perror("pipe");
//         return 1;
//     }
    
//     pid_t child_pid = fork();
//     if(child_pid == -1){
//         perror("fork");
//         return 1;
//     }
//     else if(child_pid == 0){//child process
//         close(pipfd[1]);
//         for(int i = 0;i < 10;i++){
//             buffer[0] = 0;
//             int n = read(pipfd[0],buffer,BUFFER_SIZE);
//             if(n == -1){
//                 perror("read");
//                 return 1;
//             }
//             buffer[n] = 0;
//             printf("the message is %s \n",buffer);
//         }
//         close(pipfd[0]);
        
//         char *const  argv[] = {NULL};
//         if(execve("../p-25-4-19/pipetest",argv,NULL) == -1){
//             perror("execve");
//             return 1;
//         }
//     }
//     else{
//         close(pipfd[0]);
//         for(int i = 0;i < 10;i++){
//             sleep(1);
//             buffer[0] = 0;
//             snprintf(buffer,BUFFER_SIZE,"%c",i + '0');
//             int n = write(pipfd[1],buffer,strlen(buffer));
//             if(n == -1){
//                 perror("write");
//                 return 1;
//             }
//             printf("send %d messages successfully\n",n);
//         }
//         close(pipfd[1]);

//         waitpid(child_pid,NULL,0);
//         printf("finish\n");
//     }    
//     return 0;
// }